Dynamic voltage transitions

ABSTRACT

The operating voltage of an integrated circuit (e.g., a processor) is changed in response to one or more conditions (e.g., a laptop computer is connected to an AC power source). Both the operating frequency and the operating voltage of the integrated circuit are changed. The voltage regulator providing the operating voltage to the integrated circuit is caused to transition between voltage levels using one or more intermediate steps. The integrated circuit continues to operate in the normal manner both at the new voltage and throughout the voltage transition.

CLAIM TO PRIORITY

This application is a Continuation of U.S. patent application Ser. No.13/631,844, entitled, “Dynamic Voltage Transitions”, filed Aug. 30,2012, which is a Continuation of U.S. patent application Ser. No.13/028,028, entitled, “Dynamic Voltage Transitions” filed on Feb. 15,2011, which is a Continuation of U.S. patent application Ser. No.12/236,440, entitled, “Dynamic Voltage Transitions” filed Sep. 23, 2008,now U.S. Pat. No. 7,890,781, Issued on Feb. 15, 2011, which is aContinuation of U.S. patent application Ser. No. 10/334,966, entitled“Dynamic Voltage Transitions” filed on Dec. 30, 2002, now U.S. Pat. No.7,444,524, Issued on Oct. 28, 2008, which is hereby incorporated byreference in its entirety into this application.

TECHNICAL FIELD

The invention relates to integrated circuits. More particularly, theinvention relates to a technique for dynamic modification of operatingvoltage levels.

BACKGROUND

Because energy consumption of a circuit is quadradically dependent onthe supply voltage (E∝CV_(dd) ², where V_(dd) is the supply voltage) tothe circuit, moderate reductions in supply voltage can providesignificant power savings. As a result, complex integrated circuits, forexample, microprocessors, are designed using lower and lower supplyvoltages. However, one disadvantage of lower supply voltages isgenerally increased delay times

$\left( {{D \propto \frac{V_{dd}}{\left( {V_{dd} - V_{T}} \right)^{\alpha}}},} \right.$

where V_(T) is the threshold voltage and α is strongly dependent on themobility degradation of elections in transistors).

One prior solution is to use higher supply voltages for circuits on acritical path of a processor and a lower voltage for circuits not on thecritical path of the processor. Because the circuits not on the criticalpath of the processor can operate with increased delay times and notdetrimentally effect the overall operation of processor, this solutioncan provide power savings. Further analysis of this solution is providedby D. Marculescu, “Power Efficient Processors Using Multiple SupplyVoltages,” Workshop on Compilers and Operating Systems for Low Power,2000 and M. C. Johnson, et al., “Datapath Scheduling with MultipleSupply Voltages and Level Converters,” Proceedings of the IEEEInternational Symposium on Circuits and Systems, 1997 (Hong Kong).However, these solutions provide lower supply voltages (and thereforepower savings) only to a portion of the processor.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is illustrated by way of example, and not by way oflimitation, in the figures of the accompanying drawings in which likereference numerals refer to similar elements.

FIG. 1 is a block diagram of one embodiment of an architecture tosupport dynamic operating voltage transitions for an integrated circuit.

FIG. 2 is one embodiment a voltage versus frequency graph conceptuallyillustrating valid and invalid voltage/frequency combinations.

FIG. 3 is a graphical illustration of the conceptual relationshipbetween VID codes and supply voltage for increasing levels of supplyvoltage.

FIG. 4 is a graphical illustration of the conceptual relationshipbetween VID codes and supply voltage for decreasing levels of supplyvoltage.

FIG. 5 illustrates one embodiment of a register to store parametersassociated with dynamic voltage transitions.

FIG. 6 is a timing diagram of an example dynamic supply voltagetransition.

FIG. 7 is a flow diagram of one embodiment of a dynamic transition ofsupply voltage.

DETAILED DESCRIPTION

Techniques for dynamically changing the operating voltage of anintegrated circuit are described. In the following description, forpurposes of explanation, numerous specific details are set forth inorder to provide a thorough understanding of the invention. It will beapparent, however, to one skilled in the art that the invention can bepracticed without these specific details. In other instances, structuresand devices are shown in block diagram form in order to avoid obscuringthe invention.

Reference in the specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the invention. The appearances of the phrase “in one embodiment” invarious places in the specification are not necessarily all referring tothe same embodiment.

The operating voltage of an integrated circuit (e.g., a processor) ischanged in response to one or more conditions (e.g., a laptop computeris connected to an AC power source, or the temperature of the integratedcircuit has reached a pre-determined maximum target). In one embodiment,as the operating voltage is decreased, the operating frequency is alsodecreased. The voltage regulator providing the operating voltage to theintegrated circuit is caused to transition between voltage levels usingone or more intermediate steps. Intermediate steps are used totransition the voltage regulator from the first operating voltage to thesecond operating voltage because sudden voltage changes can cause noise,feedback, or other undesirable effects. The integrated circuit continuesto operate in the normal manner (i.e., the integrated circuit does notchange operating modes) both at the new voltage and throughout thevoltage transition.

In one embodiment, the voltage ramp rate is dependent upon thecapability of the voltage regulator and the environment in which theintegrated circuit is operating. It is possible that the ramp down rateis different than the ramp up rate. For example, environments with largedecoupling capacitance, or voltage regulators with lower peak currentcapability, may result in lower ramp rates than environments with lowerdecoupling capacitance and/or voltage regulators with higher peakcurrent capability. It is also possible that an environment may requiredifferent ramp rates with higher operating frequencies than anenvironment having a lower operating frequency. This is because the peakcurrent demand on the voltage regulator is dependent upon both theoperating frequency and the decoupling capacitance that must be chargedor discharged during a transition.

FIG. 1 is a block diagram of one embodiment of an architecture tosupport dynamic operating voltage transitions for an integrated circuit.Integrated circuit 110 can be any type of integrated circuit thatreceives a supply voltage from voltage regulator 120, for example,integrated circuit 110 can be a processor.

In one embodiment, integrated circuit 110 includes state machine(s) 130,voltage regulator controller 140, optional VID tables 150 as well asother circuitry, for example, a processor core and/or cache, which isnot illustrated in FIG. 1 for reasons of simplicity of description. Oneor more of these components can also be external to integrated circuit110. Voltage regulator controller 140 is coupled with state machine(s)130 and with voltage regulator 120. As described in greater detailbelow, state machine(s) 130 cause voltage regulator controller 140 tosend a supply voltage identifier (VID) signal to voltage regulator 120.Voltage regulator 120 interprets the VID signal and changes the supplyvoltage provided to integrated circuit 110.

The VID signal can be a single binary signal, or the VID signal can bemultiple signals. In one embodiment, the VID signal is communicated overa six-line bus as a six-bit code. The number of bits in the VID code isdetermined based on, for example, the number of voltage levels that canbe provided by voltage regulator 120 and the operating characteristicsof voltage regulator 120.

Optional VID tables 150 can be used by voltage regulator controller 140to translate between codes provided by state machine(s) 130 and thecorresponding VID for the type of voltage regulator being used. Thisallows voltage controller regulator 140 to operate with a greater numberof voltage regulators and state machines/control circuits. For example,state machine(s) 130 or voltage regulator controller 140 can receive acode or other signal from a processor core indicating a desired supplyvoltage. The code can be translated using VID tables 150 to generate theappropriate VID code to cause voltage regulator 120 to provide thedesired voltage.

Operating voltage can be changed for many reasons. For example, a mobilecomputer can operate at a first voltage (and corresponding frequency)when attached to a docking station and at a lower voltage (andcorresponding frequency) when removed from the docking station. Asdescribed herein, the voltage (and frequency) transition can beaccomplished dynamically without changing operational modes duringvoltage transition. That is, the integrated circuit is not required toenter an inactive state during transitions between operating voltagelevels.

As described in greater detail below, integrated circuit 110 transmitsVID codes to voltage regulator 120, which transitions to the voltagecorresponding to the VID code. State machine(s) 130 can cause voltageregulator controller 140 to selectively transmit VID codes such thatboth the magnitude and the timing of changes in operating voltage arewithin parameters appropriate for integrated circuit 110.

FIG. 2 is one embodiment a voltage versus frequency graph conceptuallyillustrating valid and invalid voltage/frequency combinations. In oneembodiment, the acceptable operating range for the integrated circuitcan be defined by voltage-frequency pairs. FIG. 2 illustrates the set ofvalid voltage-frequency pairs and the set of invalid voltage-frequencypairs for an example embodiment.

As will be described in greater detail below, the supply voltagesprovided by the voltage regulator (in response to VID codes) and thetiming of the delivery of the supply voltages can be controlled suchthat the integrated circuit remains in the acceptable operating range.

Valid voltage-frequency pairs are application specific. Therefore, byproviding programmability with both the VID codes to be used and thetiming of the VID codes, the techniques described herein can be used formultiple integrated circuit applications.

FIG. 3 is a graphical illustration of the conceptual relationshipbetween VID codes and supply voltage for increasing levels of supplyvoltage. The horizontal dashed lines represent the target supplyvoltages corresponding to various VID codes (e.g., VID1, VID2, VID3).The curved solid line represents an example supply voltage level

FIG. 3 further illustrates parameters associated with dynamic supplyvoltage transitions. In one embodiment, the various parameters areprogrammable. The timing of the various parameters can be determinedbased on, for example, the capability of the voltage regulator beingused.

In the example of FIG. 3, T_(step) represents the time between theissuance of VID codes. T_(step) can be different for each step, orT_(step) can be the same for one or more steps. VID_(step) representsthe voltage difference between the voltages corresponding to subsequentVID codes. As with T_(step), VID_(step) can be different for each stepor VID_(step) can be the same for one or more steps.

Dwell Time is a delay after a desired voltage is reached before whichthe operating frequency can change. PLL relock time is the time allowedfor the phase locked loop (PLL) to lock on to the frequencycorresponding to the new voltage.

FIG. 4 is a graphical illustration of the conceptual relationshipbetween VID codes and supply voltage for decreasing levels of supplyvoltage. In the example of FIG. 4, T_(step) represents the time betweenthe issuance of VID codes. T_(step) can be different for each step, orT_(step) can be the same for one or more steps. VID_(step) representsthe voltage difference between the voltages corresponding to subsequentVID codes. As with T_(step), VID_(step) can be different for each stepor VID_(step) can be the same for one or more steps.

FIG. 5 illustrates one embodiment of a register to store parametersassociated with dynamic voltage transitions. The register of FIG. 5 is asingle 64-bit register; however, any number of registers can be used tostore the parameters described. Also, the number of bits used to storethe various parameters can be different than those described withrespect to FIG. 5.

In the embodiment illustrated in FIG. 5, bits 56-63 are reserved and notused. Bits 48-55 store the dwell time for a voltage transition. In oneembodiment, when the integrated circuit changes to a higher operatingvoltage, there is an additional delay between the transmission of thefinal VID code and the time that the integrated circuit changes to thenew operating frequency. This time period is defined by the value storedin the Dwell Time field.

The Down Step Time field (bits 40-47) stores a value that controls thetime that is inserted between consecutive VID updates when the supplyvoltage is transitioning to a new, lower level. In one embodiment, astate machine compensates for the selected frequency so that thetransition time matches the value in the Down Step Time field.

The Up Step Time field (bits 32-39) stores a value that controls thetime that is inserted between consecutive VID updates when the supplyvoltage is transitioning to a new, higher level. In one embodiment, aswith the Down Step Time field, the state machine compensates for theselected frequency so that the transition time matches the value in theUp Step Time field.

In one embodiment, bits 16-31 are reserved to be used for model-specificdebug status reporting. During normal operation software does not usethis field when reading the register and masks these bits when doing aread-modify-write operation on the register. The reserved status bitsare optional and not required to provide dynamic operating voltagetransitions.

The Down Step Size field (bits 8-15) determines the amount by which thesupply voltage is decreased in a single VID step when the voltage istransitioning to a new, lower level. For example, the field canrepresent voltage change in increments of 12.5 mV such that a value of 2in the Down Step Size field causes the next VID code to be 25 mV lowerthan the current VID code. If the step size is larger than thedifference between the current and ending voltage target the target VIDcode is used.

The Up Step Size field (bits 0-7) determines the amount by which thesupply voltage is increased in a single VID step when the voltage istransitioning to a new, higher level. For example, the field canrepresent voltage change in increments of 15 mV such that a value of 2in the Up Step Size field causes the next VID code to be 30 mV higherthan the current VID code. If the step size is larger than thedifference between the current and ending voltage target the target VIDcode is used.

When the supply voltage is transitioning as a result of the integratedcircuit sending VID codes to the voltage regulator, the integratedcircuit continues operating as normal. That is, the integrated circuitdoes not enter a sleep (or other low power) state in order to complete asupply voltage transition. Thus, the integrated circuit can operate(e.g., execute instruction, respond to events) in the normal manner. Asa result, the change in current demand with time (∂i/∂t) is similar aswould occur without the voltage transition. As a consequence, thevoltage regulator and power delivery network meet the same voltagespecifications for normal operation.

FIG. 6 is a timing diagram of an example dynamic supply voltagetransition. The example of FIG. 6 illustrates a transition from a highvoltage to a low voltage and back to the high voltage. The bus ratio (orclock frequency) is decreased for the lower operating voltage andincreased after the transition back to the high supply voltage level.

Operation begins with a high supply voltage and a high bus ratio (clockfrequency). The bus ratio is decreased to the low bus ratio thatcorresponds to the lower supply voltage to be used. In one embodiment,the processor core frequency may drop below (or possibly stop) thecorresponding frequency of the bus ratio during PLL locking to the newbus ratio.

After the bus ratio transition, the supply voltage is ramped down to thelow supply voltage and the integrated circuit operates with the lowsupply voltage and the low bus ratio. After a period of time operatingat the lower supply voltage and in response to a predetermined event(e.g., a change in operating conditions) the supply voltage is increasedto the high supply voltage level. As period of time determined by thedwell time after the voltage transition is complete, the bus ratiotransitions from the low bus ratio to the high bus ratio.

FIG. 7 is a flow diagram of one embodiment of a dynamic transition ofsupply voltage. A current supply voltage is provided, 700. The currentsupply voltage can be an initial startup supply voltage level or thecurrent supply voltage can be a selected voltage level that has beenselected using VID codes. The current supply voltage is provided until anew VID code is received, 710.

When a new VID code is received, 710, the system transitions to a newsupply voltage as indicated by the new VID code, 720. In one embodiment,the VID code is transmitted from the integrated circuit (e.g., aprocessor) receiving the supply voltage to a voltage regulator providingthe voltage to the integrated circuit. The voltage regulator interpretsthe VID codes and provides the voltage level corresponding to the VIDcode received.

If the time period corresponding to T_(step) has not passed, 730, thesystem waits, 740. When the time period of T_(step) has passed, 730, anew VID code can be processed, 750. If a new VID code is received, 750,the voltage regulator can transition to the voltage corresponding to thenew VID code as described above. If a new VID code is not received, 750,the voltage regulator continues to provide the new supply voltage, whichis now the current supply voltage, 700.

In the foregoing specification, the invention has been described withreference to specific embodiments thereof. It will, however, be evidentthat various modifications and changes can be made thereto withoutdeparting from the broader spirit and scope of the invention. Thespecification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense.

1. A processor comprising: a cache; a phase lock loop (PLL); and avoltage regulator controller to change an operating voltage of theprocessor in response to one or more conditions, including a temperatureof the processor, wherein the voltage regulator controller is to sendvoltage identifier (VID) codes to a voltage regulator external to theprocessor, wherein the operating voltage of the processor is to bechanged using a plurality of steps, wherein the plurality of steps haveprogrammable step sizes and programmable step time, wherein each VIDcode represents a voltage increment, and wherein the voltage regulatorcontroller is to wait for a programmable time after the operatingvoltage of the processor is changed.